HyperCard version 1.2.2 is a maintenance release with a number of bug fixes, better support for foreign languages and a few small enhancements.
These notes contain information of interest to stack designers and programmers that are not covered in the general HyperCard Version 1.2.2 Release Notes stack. The HyperCard version 1.2.2 Programmer's Notes include the following:
• Script Examples and detailed explanations of enhancements
• Explanations of bug fixes
Briefly, HyperCard 1.2.2 includes the following:
• Improved support for display and printing of Japanese, Arabic and other
non-Roman languages
• Improvements in handling sound (in conjunction with Sound Manager fixes
in System 6.0.2)
• Overall improved robustness in low memory situations
• Parameters returned by HyperCard's Find command have been enriched and
are more accurate
• A variety of bug fixes
NOTE: Developers who plan to license and ship HyperCard with their products outside the United States should use version z1.2.2, which contains a special resource for handling non-U.S. date, currency and other number formats. Contact Apple Software Licensing for details on distributing HyperCard with third party products.
If the Shift key is pressed while pasting a field, HyperCard 1.2.2 will paste the field AND put the text of the copied or cut field into it.
Whether pasting a field into a card or background, text for the current card will be put into the pasted field. Copying and pasting a field with the Shift key can be done in a HyperTalk handler as follows:
on mouseUp
select cd fld 1
doMenu "Copy Field"
go next card
type "V" with commandKey,shiftKey -- paste it with the shiftKey down
choose browse tool
end mouseUp
NOTE: The doMenu command cannot be used to shift-paste a field as it takes only one argument
••• Placing a Paint graphic while drawing
HyperCard 1.2.2 allows rectangles, ovals, and regular polygons be placed (by sliding them around the screen) while they are being created.
With the rectangle, round rectangle, oval, or regular polygon tool chosen the user drags the mouse to stretch out the shape. Without releasing the mouse button, pressing the Command key will stop stretching, and allow sliding the graphic. Releasing the Command key resumes stretching.
This capability is only available while the user is working with the painting tools, keyboard and mouse directly; it cannot be programmed in a HyperTalk handler.
••• Faster navigation
Going to the previous card for a specified background is faster. For example:
HyperCard 1.2.2 correctly frames (draws the box around) text found by HyperCard's Find commands when text is left, center or right justified, and when operating in languages which read right-to-left.
Reset Paint will use right justification for Paint text if right-to-left text has been set by the Script Manager. This restores the defaults to what would be expected on a Kanji, Arabic or Hebrew language system.
••• Printing
HyperCard 1.2.2 will print Kanji characters in high quality mode on the ImageWriter II and ImageWriter LQ printers.
HyperCard 1.2.2 uses the default font set by the Script Manager for printing reports.
HyperCard 1.2.2 has a fix for the operating system Scrap Manager to help it when memory is running low. When cutting or copying a HyperCard object or graphic under low memory conditions (i.e. as would be created by repeated copying and pasting on a 1 MB system), HyperCard could sometimes receive a corrupted copy of the object when it was pasted by a user or HyperTalk handler. This bad copy could cause the system to hang or corrupt the HyperCard stack being used. This fix, along with several smaller ones, make HyperCard 1.2.2 much more robust when running on a 1 Megabyte Macintosh, or in a small partition under MultiFinder.
••• Appending Scripts
Sometimes when memory was running low the beginning of a stack script was lost when another handler attempted to append something to the end of the script. This has been fixed.
••• Sound on 1 Megabyte systems, Mac Plus and SE
System 6.0.2 fixed a number of small problems with recent releases of the Macintosh Sound Manager. HyperCard 1.2.2 has a fix for gaining and releasing the sound channel which supports desk accessories, modal dialogs or other software that use sounds. This eliminated known sound problems including system hangs and occasional clicks and pops on the Macintosh Plus and SE, and provides better handling of synthesized and digitized sounds in general.
••• The "Find" command
Getting parameters for a Find command is now fully implemented, so HyperCard 1.2.2 returns more information when asked for “the params”. These improvements allow stack designers to intercept a Find command, examine it in detail, then modify, terminate, execute or override it inside a handler.
HyperCard 1.2.2 returns the string to be found with quotes (which can be important for conditional HyperTalk statements to multi-word searches), and also returns a complete field expression, instead of just “<field>”.
For example, if the command:
find whole "My Name" in bkgnd fld "Foo"
were intercepted by the handler:
on Find
send the params to HyperCard
if the result is empty then exit find
lock screen
push card
go to stack "server:Address"
send the params to HyperCard -- search in this stack too
if the result is empty then exit find
pop card -- return to original stack
end Find
inquiring about “the params” would return the following literal results:
find whole My Name in <field> -- for version 1.2.1 and earlier
find whole "My Name" in bkgnd field 2 -- for version 1.2.2
NOTE: If the Find command contains a field name (e.g. bkgnd fld “Foo”), HyperCard converts the name into the field number (e.g. bkgnd field 2).
A simpler command like:
find "My Name"
would return:
find 0 My Name -- for version 1.2.1 and earlier
find normal "My Name" -- for version 1.2.2
NOTE: In simple Find commands, version 1.2.2 returns “normal” in the second item (instead of “0”), indicating the Find command was not followed by modifiers like “whole” or “string”.
••• Closing open fields at the start of a Find command
HyperCard now closes the currently open field (one where there is a flashing cursor) when a search is initiated via the Find command. This should eliminate situations where Find would return an invalid result.
••• Sending the Choose message
In earlier versions, when the user clicked on a tool in the tool windoid, HyperCard did not send the Choose message. Now it does. This is useful when a designer wants to figure out which tool the user has chosen from the palette. For example:
on choose what,whichTool
if what is "tool" and whichTool is "7" then beep
-- beep when the brush tool is chosen
pass choose -- do it
end choose
NOTE: The Choose message passes the word "tool" and a number, not a tool name.
••• Scrolling fields
The scrollbar is now updated after cutting or deleting text from a scrolling field, so the field can now be scrolled back to the top with the mouse after cutting or deleting text from the bottom .
Text Arrows now update the scrollbar and scroll setting properly. Previous versions did not update the scrollbar when text arrows were used to scroll up and down the field.
••• Painting tools with hidden pictures
If the picture is hidden you can no longer get "marching ants” by double-clicking the selection tool.
If the picture is hidden you can no longer set an insertion point by choosing the text tool and clicking the mouse.
••• Typing in locked stacks
A bug in HyperCard 1.2.1 allowed users to type carriage returns into fields in a locked stack, even though the userModify property was set to false. This has been fixed.
••• Working with custom FOND resources
A bug allowed a custom FOND attached to a stack to be purged, but a Font Manager global still referred to it. This could corrupt HyperCard's heap; it has been fixed.
••• Font substitution with the ImageWriter LQ
If the 3x fonts for the ImageWriter LQ are available, HyperCard will now use them.
••• Going to other stacks while deleting a card
Earlier versions of HyperCard would result in an Unexpected Error #1250 or #1260 if a user (via a script) left the stack in a delete or openCard handler. This has been fixed.
••• Copying the selection
Earlier versions of HyperCard accidentally copied the entire text of a source container when a handler requested that the selection (highlighted text) be put after the contents of a destination container. Version 1.2.2 fixes this.
••• the diskSpace
The diskSpace property now returns the correct available diskspace when it's more than 32 megabytes.
••• Visual effects on "E-Machines" type large monitors
Visual effects now work with monitors which change low memory screen globals.
••• Flush mouseUp event before sending the mouseUp message
When a button was clicked on and the message was sent prior to the event being removed from the queue, XCMDs were getting confused by the extra event. This is fixed.
••• Suspend/Resume
In some sublaunch situations where the user had to find the application with Standard File, a bug resulted in weird looking screens on return to HyperCard. This has been fixed.